import { createTreehole, getClassNameById } from '../../../api/treehollow'
Page({
  data: {
    title: '',   // 树洞标题
    content: '' , // 树洞内容
    studentNo: '',   
    studentName: '', 
    className:'',
    isKeyboardShow: false,
    isLoading: true // 新增加载状态
  },

  async onLoad() {
    await this.getStudentInfo();
  },

  // 获取学生信息和班级信息
  async getStudentInfo() {
    try {
      const studentInfo = wx.getStorageSync('studentInfo');
      console.log('获取到的studentInfo:', studentInfo);
      
      if (studentInfo) {
        const studentNo = studentInfo.studentNo || '';
        const studentName = studentInfo.studentName || '';
        
        // 先设置基本信息
        this.setData({
          studentNo,
          studentName,
          isLoading: true
        });

        // 如果有classId，则查询班级信息
        if (studentInfo.classId) {
          await this.getClassInfo(studentInfo.classId);
        } else {
          this.setData({ 
            className: '未设置班级',
            isLoading: false 
          });
        }
      } else {
        this.setData({ isLoading: false });
        wx.showToast({ 
          title: '未登录或登录信息已过期', 
          icon: 'none',
          duration: 2000
        });
      }
    } catch (error) {
      console.error('获取学生信息失败:', error);
      this.setData({ isLoading: false });
    }
  },

// 根据classId查询班级信息
async getClassInfo(classId) {
  try {
    const response = await getClassNameById(classId);
    console.log('获取到的班级信息:', response);
    
    // 直接使用返回的className
    const className = response.className || '未设置班级';
    
    console.log('最终设置的班级名称:', className);
    
    this.setData({ 
      className,
      isLoading: false 
    });
  } catch (error) {
    console.error('获取班级信息失败:', error);
    this.setData({ 
      className: `班级${classId}`,
      isLoading: false 
    });
  }
},

  // 标题输入框聚焦（键盘弹出）
  onTitleFocus() {
    this.setData({ isKeyboardShow: true });
    setTimeout(() => {
      wx.pageScrollTo({ scrollTop: 0, duration: 0 });
    }, 300);
  },

  // 正文输入框聚焦（键盘弹出）
  onContentFocus() {
    this.setData({ isKeyboardShow: true });
    setTimeout(() => {
      wx.pageScrollTo({ scrollTop: 100, duration: 0 });
    }, 300);
  },

  // 输入框失焦（键盘收起）
  onInputBlur() {
    this.setData({ isKeyboardShow: false });
  },

  // 处理标题输入
  handleTitleInput(e) {
    this.setData({ title: e.detail.value });
  },

  // 处理内容输入
  handleContentInput(e) {
    this.setData({ content: e.detail.value });
  },

  // 返回上一页
  navigateBack() {
    wx.navigateBack({ delta: 1 });
  },

  // 打开表情面板（提示待实现）
  openEmojiPanel() {
    wx.showToast({ title: '表情功能待实现', icon: 'none' });
  },

  // 提交发布
  async submitPublish() {
    const { title, content, studentNo, studentName, className, isLoading } = this.data;
    
    if (isLoading) {
      wx.showToast({ title: '信息加载中，请稍后', icon: 'none' });
      return;
    }
    
    // 检查是否获取到学生信息
    if (!studentNo || !studentName) {
      wx.showToast({ title: '未获取到学生信息，请重新登录', icon: 'none' });
      return;
    }

    // 验证标题
    if (!title.trim()) {
      wx.showToast({ title: '请输入标题', icon: 'none' });
      return;
    }
    // 验证正文
    if (!content.trim()) {
      wx.showToast({ title: '请输入正文', icon: 'none' });
      return;
    }
    
    // 模拟发布加载
    wx.showLoading({ title: '发布中...' });
    try {
      // 调用创建树洞接口
      const result = await createTreehole({
        title: title.trim(),
        content: content.trim(),
        studentNo: studentNo.trim(),
        studentName: studentName.trim(),
        className: className.trim(),
        publishTime: new Date().toISOString()
      });
      console.log('准备发送的请求数据:', result);
      wx.hideLoading();
      wx.showToast({ 
        title: '发布成功', 
        icon: 'success', 
        duration: 1500 
      });
      // 设置全局标志，通知列表页刷新
      getApp().globalData.shouldRefreshTreeholeList = true;
      // 1.5秒后返回列表页
      setTimeout(() => {
        wx.navigateBack({ delta: 1 });
      }, 1500);
      
    } catch (error) {
      wx.hideLoading();
      console.error('发布失败:', error);
      wx.showToast({ 
        title: '发布失败，请重试', 
        icon: 'none',
        duration: 2000
      });
    }
  },

  // 显示更多选项
  showMoreOptions() {
    wx.showActionSheet({
      itemList: ['保存草稿', '预览', '发布设置'],
      success(res) { console.log('选中了第', res.tapIndex, '项'); }
    });
  },

  // 切换主题
  switchTheme() {
    wx.showToast({ title: '切换主题功能', icon: 'none' });
  }
});